package cn.hacynn.nd.config;

import cn.hacynn.nd.interceptor.JwtTokenInterceptor;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.context.annotation.Configuration;
import org.springframework.web.servlet.config.annotation.InterceptorRegistry;
import org.springframework.web.servlet.config.annotation.WebMvcConfigurationSupport;

/**
 * @Author Hacynn
 * @Date 2024/5/25 15:49
 * @Version 1.0
 * 配置类，注册web层相关组件
 */
@Configuration
@Slf4j
public class WebMvcConfiguration extends WebMvcConfigurationSupport {

    @Autowired
    private JwtTokenInterceptor jwtTokenInterceptor;

    /**
     * 注册自定义拦截器
     * @param registry
     */
    @Override
    protected void addInterceptors(InterceptorRegistry registry) {
        log.info("开始注册自定义拦截器...");
        registry.addInterceptor(jwtTokenInterceptor)
                .addPathPatterns("/**")
                .excludePathPatterns("/user/login")
                .excludePathPatterns("/user/forgetPassword")
                .excludePathPatterns("/user/email/login")
                .excludePathPatterns("/user/email/sendCode")
                .excludePathPatterns("/alipay/**")
                .excludePathPatterns("/share/**")
                .addPathPatterns("/share/transfer") // TODO 为什么不生效？
                .addPathPatterns("/share/list");   // TODO 为什么不生效？
    }

}
